package com.gt.aep.base.dao.systemManage;

import com.gt.aep.base.entity.systemManage.SysIdentityRole;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 身份角色DAO
 */
@Repository
public interface SysIdentityRoleDao {
    /**
     * 新增身份角色
     * @param sysIdentityRole
     * @return
     */
    int insert(SysIdentityRole sysIdentityRole);

    /**
     * 修改身份角色信息
     * @param sysIdentityRole
     * @return
     */
    int update(SysIdentityRole sysIdentityRole);

    /**
     * 批量删除身份角色
     * @param ids
     * @return
     */
    int delete(String[] ids);

    /**
     * 根据身份角色信息获取相关身份角色列表
     * @param sysIdentityRole
     * @return
     */
    List<SysIdentityRole> getList(SysIdentityRole sysIdentityRole);

    /**
     * 根据身份角色信息获取相关身份角色个数
     * @param sysIdentityRole
     * @return
     */
    int getCount(SysIdentityRole sysIdentityRole);

    /**
     * 根据是否角色名称查询
     * @param roleName
     * @return
     */
    int getRoleCountByName(@Param("roleName") String roleName);

    /**
     * 清楚 userId 相关的记录
     * @param userId
     * @return
     */
    int deleteByUid(@Param("userId") String userId);

    /**
     * 清楚 identityRoleId 相关的记录
     * @param identityRoleId
     * @return
     */
    int deleteByIdentityRoleId(@Param("identityRoleId") String identityRoleId);
}
